//DBGRID ZEBRADO

 

void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,

      const TRect &Rect, int DataCol, TColumn *Column,

      TGridDrawState State)

  #define GRD_COR_PAR          (TColor)0x00FAF9F8

  #define GRD_COR_IMPAR        (TColor)0x00EFE8E4

  #define GRD_COR_ERRO         (TColor)0x00DDE2E6

  #define GRD_COR_SELECIONADA  (TColor)0x00E0DBDA

  #define GRD_COR_FONTE        clBlack

  #define GRD_COR_FUNDO        clMoneyGreen

 

// Linha atualmente selecionada?

    if (State.Contains(gdSelected)) {

        DBGrid1->Canvas->Font->Color  = GRD_COR_FONTE;

        DBGrid1->Canvas->Brush->Color = GRD_COR_FUNDO;

    }

    else {

        // Linha marcada?

        if (DBGrid1->SelectedRows->CurrentRowSelected) {

            DBGrid1->Canvas->Font->Color  = clBlue;

            DBGrid1->Canvas->Brush->Color = GRD_COR_SELECIONADA;

        }

        else {

            // Linha ímpar?

            if (DM->Query1->RecNo%2) {

                DBGrid1->Canvas->Brush->Color = GRD_COR_IMPAR;

                DBGrid1->Canvas->Font->Color  = clBlack;

            }

            else {

                // Linha par

                DBGrid1->Canvas->Brush->Color = GRD_COR_PAR;

                DBGrid1->Canvas->Font->Color  = clBlack;

            }

        }

    }

    DBGrid1->DefaultDrawDataCell(Rect, Column->Field, State);

}